package com.sondon.mayi.activity;

import org.androidannotations.annotations.AfterViews;
import org.androidannotations.annotations.Bean;
import org.androidannotations.annotations.Click;
import org.androidannotations.annotations.EActivity;
import org.androidannotations.annotations.ViewById;
import org.apache.http.Header;

import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

import com.loopj.android.http.RequestParams;
import com.loopj.android.http.TextHttpResponseHandler;
import com.sondon.mayi.adapter.ScoreRecordListAdapter;
import com.sondon.mayi.configs.URLConfigs;
import com.sondon.mayi.entity.MyInfoEntity;
import com.sondon.mayi.entity.ScoreRecordListEntity;
import com.sondon.mayi.fruit.R;
import com.sondon.mayi.ui.CircularImage;
import com.sondon.mayi.ui.MyMultipleTopBar;
import com.sondon.mayi.ui.TopBarClickListener;
import com.sondon.mayi.util.AsyncHttpUtil;
import com.sondon.mayi.util.GsonUtil;
import com.sondon.mayi.util.ImageLoaderUtil;
import com.sondon.mayi.util.LogUtil;
import com.sondon.mayi.util.ToastUtils;
/**
 * 
 * @Project : Fruit
 * @Package : com.sondon.mayi.activity
 * @Class : MyScoreActivity
 * @Author : 蔡文锋
 * @DateTime：2015年6月29日 下午10:33:00
 * @Blog：http://blog.csdn.net/caiwenfeng_for_23
 * @Description : { 我的积分等级 }
 *
 */
@EActivity(R.layout.myscore)
public class MyScoreActivity extends BaseActivity {
	@ViewById
	MyMultipleTopBar topBar;
	@ViewById
	LinearLayout upgrade_outer;//头部layout
	@ViewById
	LinearLayout myscore;// 我的积分
	@ViewById
	LinearLayout upgrade_msg_box;// 升级会员
	@ViewById
	CircularImage  face;// 头像
	@ViewById
	TextView username;// 用户名(手机号)
	@ViewById
	ImageView rank_pic;// 等级头像
	@ViewById
	TextView rank;// 等级
	@ViewById
	TextView upgrade;// 等级升级
	@ViewById
	TextView score;//积分
	@ViewById
	LinearLayout you_not_login;// 没有登录
	@ViewById
	LinearLayout score_rule;//积分与等级规则
	@ViewById
	ListView score_record_list;//获取积分记录列表
	@Bean
	ScoreRecordListAdapter adapter;//积分记录列表适配器
	
	
	@AfterViews
	public void initView(){
		//设置Listview不可点击
		score_record_list.setEnabled(false);
		//设置topbar
		topBar.setTopBarClickListener(new TopBarClickListener() {
			
			@Override
			public void rightBtnClick() {
				
			}
			
			@Override
			public void leftBtnClick() {
				onBackPressed();
			}
		});
		
		//设置适配器
		score_record_list.setAdapter(adapter);
		
		//积分和等级
		AsyncHttpUtil.get(URLConfigs.Score_ukey+myprefs.Ukey().get(), null, new TextHttpResponseHandler() {
			
			@Override
			public void onSuccess(int status, Header[] arg1, String json) {
				if(status==200){
					LogUtil.e(TAG, "MyScore json :"+json);
				}
			}
			
			@Override
			public void onFailure(int status, Header[] arg1, String str, Throwable arg3) {
				ToastUtils.show(context, R.string.network_unavailable);
			}
		});
		
		//初始化头部信息
		if (!myprefs.is_login().get()) {
			//没有登陆过
			upgrade_msg_box.setVisibility(View.GONE);
			face.setVisibility(View.GONE);
			you_not_login.setVisibility(View.VISIBLE);
//			upgrade_outer.setBackgroundColor(getResources().getColor(R.color.topbar_backage_color));
		} else {
			//已经登陆过
			upgrade_msg_box.setVisibility(View.VISIBLE);
			face.setVisibility(View.VISIBLE);
			you_not_login.setVisibility(View.GONE);
//			upgrade_outer.setBackgroundColor(getResources().getColor(R.color.topbar_backage_color));
			
			//获取个人信息
			AsyncHttpUtil.get(URLConfigs.MyInfo_ukey+myprefs.Ukey().get(), null,myInfoResponse);
			//获取积分记录列表
			RequestParams params=new RequestParams();
			params.put("ukey", myprefs.Ukey().get());
			params.put("page", "1");
			params.put("num", "10");
			AsyncHttpUtil.get(URLConfigs.ScoreRecordList_ukey, params, myScoreRecordResponse);
		}
	}
	
	
	
 	@Click({R.id.score_rule})
	public void onClick(View v){
		switch (v.getId()) {
		case R.id.score_rule://积分与等级规则
			openActivity(ScoreRuleActivity_.class);
			break;
			
		default:
			break;
		}
	}
 	
 	
 	//获取个人信息响应
 	 	TextHttpResponseHandler myScoreRecordResponse=new TextHttpResponseHandler() {
 			
 			@Override
 			public void onSuccess(int status, Header[] arg1, String json) {
 				LogUtil.e(TAG, "获取积分记录列表  json ："+json);
 				if(200==status){
 				ScoreRecordListEntity entity=GsonUtil.GetFromJson(json, ScoreRecordListEntity.class);
 				if(entity.isStatus()){
 					adapter.SetDatas(entity.getList());
 				}else{
 					ToastUtils.show(context, R.string.network_unavailable);
 					}
 				}
 			}
 			
 			@Override
 			public void onFailure(int arg0, Header[] arg1, String arg2, Throwable arg3) {
 				ToastUtils.show(context, R.string.network_unavailable);
 			}
 		};
 	
 	//获取个人信息响应
 	TextHttpResponseHandler myInfoResponse=new TextHttpResponseHandler() {
		
		@Override
		public void onSuccess(int status, Header[] arg1, String json) {
			if(200==status){
				LogUtil.e(TAG, "获取个人信息  json ："+json);
			MyInfoEntity entity=GsonUtil.GetFromJson(json, MyInfoEntity.class);
			if(entity.isStatus()){
				ImageLoaderUtil.SetImgView(entity.getInfo().getHead_ico(), face);
				ImageLoaderUtil.SetImgView(entity.getInfo().getPic(), rank_pic);
				
				username.setText(entity.getInfo().getUsername());
				rank.setText(entity.getInfo().getGroup_name());
				upgrade.setText(entity.getInfo().getGroup_msg());
				
			}else{
				ToastUtils.show(context, R.string.network_unavailable);
				}
			}
		}
		
		@Override
		public void onFailure(int arg0, Header[] arg1, String arg2, Throwable arg3) {
			ToastUtils.show(context, R.string.network_unavailable);
		}
	};
}
